angular.module('eYe')	
	.factory('Historique', function ($rootScope) {

		var Historique = {
			retour:false
		};

		Historique.add = function (oldUrl,newUrl){

			var tabNewHash = newUrl.split('#');
			var newHash = tabNewHash[1];
			if(typeof newHash === 'undefined'){
				newHash = '/';
			}
			
			var tabOldHash = oldUrl.split('#');
			var oldHash = tabOldHash[1];
			if(typeof oldHash === 'undefined'){
				oldHash = '/';
			}
			
			if(newHash != oldHash){		
		
				var tabTemp = Historique.get();	
				if(tabTemp.pop() == newHash){
					Historique.retour = false;
					Historique.pop();					
				}
				else{					
					Historique.push(oldHash);
				}
			}
		}

		Historique.back = function (){
			Historique.retour = true;			
			history.back();
			setTimeout(function(){				
				if(Historique.retour){	
					var tabTemp = Historique.get();					
					location.hash = tabTemp.pop();
					Historique.retour = false;
				}
			},100);
		}
		
		Historique.get = function (){
			return getVariableLocalStorage('historique',true);	
		}
		
		Historique.push = function (hash){
			var tabTemp = Historique.get();			
			tabTemp.push(hash);
			setVariableLocalStorage('historique',tabTemp,true);
		}
		
		Historique.pop = function (){
			var tabTemp = Historique.get();			
			var hash = tabTemp.pop();
			setVariableLocalStorage('historique',tabTemp,true);
			return hash;
		}
		
		Historique.vider = function (){
			setVariableLocalStorage('historique','[]',false);
		}

		return Historique;
	});